package com.sls.nzdapplication.ui.activity;

import android.Manifest;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;

import androidx.appcompat.app.AppCompatActivity;

import com.hjq.permissions.OnPermissionCallback;
import com.hjq.permissions.Permission;
import com.hjq.permissions.XXPermissions;
import com.sls.nzdapplication.R;
import com.sls.nzdapplication.db.DaoMaster;
import com.sls.nzdapplication.db.DaoSession;
import com.sls.nzdapplication.db.MyDaoMaster;


import java.util.List;

/**
 * 这个类是一个启动页，主要功能是在启动应用时，请求用户授权，如果用户授权通过，就跳转到登录页面。
 * 如果用户拒绝授权，就不会跳转到登录页面。在请求授权时，会请求一些危险权限，如定位、存储、录音、相机等。
 * 如果用户拒绝授权，会弹出一个对话框，提示用户去设置中打开权限。这个类中使用了XXPermissions库来请求权限。
 *
 * Attempt Chan
 * */
public class SplashActivity extends AppCompatActivity {

    //要申请的权限
    private String[] mPermissions = {Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.RECORD_AUDIO,Manifest.permission.CAMERA};

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
        requestPermissions();

    }

    public void onRestart() {
        super.onRestart();
        requestPermissions();


    }

    private void requestPermissions() {
        XXPermissions.with(this)
                // 不适配 Android 11 可以这样写
                //.permission(Permission.Group.STORAGE)
                // 适配 Android 11 需要这样写，这里无需再写 Permission.Group.STORAGE
                .permission(Permission.MANAGE_EXTERNAL_STORAGE,Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.RECORD_AUDIO,Manifest.permission.CAMERA)
                .request(new OnPermissionCallback() {

                    @Override
                    public void onGranted(List<String> permissions, boolean all) {
                        if (all) {
                            Intent intent = new Intent(SplashActivity.this, LoginActivity.class);
                            startActivity(intent);
                            finish();
                        }
                    }

                    @Override
                    public void onDenied(List<String> permissions, boolean never) {
                        if (never) {

                            // 如果是被永久拒绝就跳转到应用权限系统设置页面
                            XXPermissions.startPermissionActivity(SplashActivity.this, permissions);
                        } else {

                        }
                    }
                });

    }

}